As the speed of computing devices has increased, so have the demands that users of the devices place on them. While simple textual presentation was acceptable in the past, users now expect full-color, and full-motion data. Such content delivery is relatively simple for moving data from local storage (e.g., a hard disk drive) on a machine to the display apparatus of the machine, such as over a local bus.
Data transfer between heterogenous devices or over data paths having constrained bandwidth is much more complicated. Because the devices are heterogenous, or not closely matched, they generally must communicate over a standardized industry-wide protocol that may include features that degrade possible performance in an effort to permit interoperability. In a wired environment, induction within long wires can interfere with a clean transfer of digital signals. In a wireless environment, even more difficulties arise, and include limited allowable bandwidth which limits the amount of information that can be transferred even under theoretically perfect conditions. Moreover, interference (e.g., from other broadcasting devices or from ambient conditions such as solar interference) can degrade the bandwidth of the wireless communication channels. As a result, data transmission, and particularly wireless transmission (such as through 802.11 or cellular network transmission) always seems to lag user demand by a large amount. In addition to slow transmission speeds, certain networks, such as cellular telephone networks, require initial connection times that add even more delay.
Slow transmission speeds can be particularly annoying for real-time operations such as on-line searching and browsing on the internet. In particular, for such searching and browsing, information flow is highly asymmetrical, as user requests are small, but data transfer down to the user is very large.
For example, a user might click on a link so as to send a short internet address to a server, and may be provided a very long response that includes color graphics and applets for a web page. The user may also perform a search and be provided with a number of search results (preferably in a form that does not require much bandwidth, such as the standard Google search pages). The user may then want to access the web pages for each of the search results until the desired result is located. However, for a device such as a cellular telephone that might not have adequate bandwidth, the user may be forced to spend as much time or more time waiting for information as the user spends reviewing the information.
Thus, there is a need for a system that can provide a user with more immediate access to requested data even over a restricted communications path such as a wireless communications path.